CREATE TABLE GrupoParametro(
Codigo VARCHAR(100) NOT NULL PRIMARY KEY,
Nombre VARCHAR(100)NOT NULL
)
GO
CREATE TABLE Parametro(
Codigo VARCHAR(100)NOT NULL PRIMARY KEY,
Valor VARCHAR(MAX)NOT NULL,
Visible CHAR(1)NULL,
Tipo INT NULL,
AceptaNulo CHAR(1)NULL,
Etiqueta VARCHAR(100)NULL,
Descripcion VARCHAR(200)NULL,
CodigoGrupo VARCHAR(100)NOT NULL REFERENCES GrupoParametro(Codigo)
)
GO
CREATE TABLE GrupoFuncion(
Codigo VARCHAR(50)NOT NULL PRIMARY KEY,
Nombre VARCHAR(50)NOT NULL,
Orden INT NOT NULL
)
GO
CREATE TABLE Pantalla(
Codigo VARCHAR(50)NOT NULL PRIMARY KEY,
Etiqueta VARCHAR(100)NULL,
Ubicacion VARCHAR(100)NULL,
Rutas VARCHAR(300)NULL,
Tipo INT NOT NULL,
CodigoPadre VARCHAR(50)NULL REFERENCES GrupoFuncion(Codigo),
Orden INT NOT NULL,
Estado INT NOT NULL,
Menu INT NOT NULL,
Sistema VARCHAR(10)NOT NULL
)
GO
CREATE TABLE Funcion(
Codigo VARCHAR(50)NOT NULL PRIMARY KEY,
CodigoGrupo VARCHAR(50)NOT NULL REFERENCES GrupoFuncion(Codigo),
Nombre VARCHAR(100)NOT NULL,
Descripcion VARCHAR(200)NULL,
Visible CHAR(1)NOT NULL,
Orden INT NOT NULL
)
GO
CREATE TABLE FuncionPantalla(
CodigoFuncion VARCHAR(50)NOT NULL REFERENCES Funcion(Codigo),
CodigoPantalla VARCHAR(50)NOT NULL REFERENCES Pantalla(Codigo),
PRIMARY KEY(CodigoFuncion,CodigoPantalla)
)
GO
CREATE TABLE usuarioFuncion(
idusuario BIGINT NOT NULL REFERENCES usuario(idusuario),
CodigoFuncion VARCHAR(50) NOT NULL REFERENCES Funcion(Codigo),
PRIMARY KEY(idusuario,CodigoFuncion)
)
GO
CREATE TABLE Rol(
Codigo VARCHAR(50)NOT NULL PRIMARY KEY,
Nombre VARCHAR(50)NOT NULL,
Descripcion VARCHAR(MAX)NULL,
Visible CHAR(1)NOT NULL
)
GO
CREATE TABLE RolFuncion(
CodigoRol VARCHAR(50)NOT NULL REFERENCES Rol(Codigo),
CodigoFuncion VARCHAR(50)NOT NULL REFERENCES Funcion(Codigo),
PRIMARY KEY(CodigoRol,CodigoFuncion)
)
GO
CREATE TABLE UsuarioRol(
IdUsuario BIGINT NOT NULL REFERENCES usuario(idusuario),
CodigoRol VARCHAR(50)NOT NULL REFERENCES Rol(Codigo),
PRIMARY KEY(IdUsuario,CodigoRol)
)